home *** CD-ROM | disk | FTP | other *** search
/ KeyGen Studio 2002 / KeyGen_Studio_2002.iso / Tutorials / Code Inside / Tut22.txt < prev    next >
Encoding:
Text File  |  2001-09-21  |  4.1 KB  |  128 lines

  1. *************************************************************************************************
  2.                     CrackMe #5
  3. *************************************************************************************************
  4.  
  5. Author:        n0p3x
  6. Protection:    Date Protection
  7. URL:        http://www.phrozencrew.co.uk/crackme5.zip
  8. Tools:        W32Dasm V8.93
  9.         Hex-Editor
  10.  
  11.  
  12. --->    Intro...
  13.  
  14. Welcome to my next Tutorial !!!
  15. This time we're not going to use SoftICE ;)
  16. We need to make this CrackMe say that it's running in a good date, hehe :)
  17.  
  18.  
  19. --->    Let's Begin...
  20.  
  21. Open the CrackMe and you'll get a Message Box saying:
  22.  
  23. "The demonstration period for this program has been exceeded"
  24.  
  25. Ok, remember this line or write it down.
  26. Now press "Ok" and then press "Exit" and open the CrackMe in W32Dasm.
  27. Then click on "Strn Ref" (String Data References) and double click on the line:
  28.  
  29. "The demonstration period for this "
  30.  
  31. And you'll see this:
  32.  
  33. -------------------------------------------------------------------------------------------------
  34.  
  35. * Referenced by a (U)nconditional or (C)onditional Jump at Address:
  36. |:00401097(C)
  37. |
  38. :004010A8 6800100000              push 00001000
  39.  
  40. * Possible StringData Ref from Data Obj ->"Bad Luck"
  41.                                   |
  42. :004010AD 68CA204000              push 004020CA
  43.  
  44. * Possible StringData Ref from Data Obj ->"The demonstration period for this "
  45.                                         ->"program has been exceeded"
  46.                                   |
  47. :004010B2 688E204000              push 0040208E
  48. :004010B7 6A00                    push 00000000
  49.  
  50. * Reference To: USER32.MessageBoxA, Ord:0000h
  51.                                   |
  52. :004010B9 E852040000              Call 00401510
  53.  
  54. -------------------------------------------------------------------------------------------------
  55.  
  56. This is the Message Box we see at the beginning of the CrackMe :)
  57. Notice the (C)onditional Jump above, that's where the CALL to this Message Box comes from let's
  58. check it out, and you'll see this:
  59.  
  60. -------------------------------------------------------------------------------------------------
  61.  
  62. :0040108F 59                      pop ecx
  63. :00401090 817DF8CD070000          cmp dword ptr [ebp-08], 000007CD    <--- Hmmm...
  64. :00401097 7F0F                    jg 004010A8                <--- Here's the Jump
  65.  
  66. * Possible StringData Ref from Data Obj ->"Within Demonstration Time"
  67.                                   |
  68. :00401099 6874204000              push 00402074
  69.  
  70. * Possible Reference to Dialog: DialogID_0001, CONTROL_ID:0065, ""
  71.                                   |
  72. :0040109E 6A65                    push 00000065
  73. :004010A0 53                      push ebx
  74.  
  75. * Reference To: USER32.SetDlgItemTextA, Ord:0000h
  76.                                   |
  77. :004010A1 E85E040000              Call 00401504
  78.  
  79. -------------------------------------------------------------------------------------------------
  80.  
  81. See the "jg 004010A8" (Jump if Greater).
  82. Well it Jumps for us so the value must be greater.
  83. See the "cmp dword ptr [ebp-08], 000007CD", it Compares some value located at [ebp-08] with
  84. 000007CD.
  85. What's that value? we need a Hex-Converter for this ;)
  86. I've got one in my Hex-Editor, if you haven't then search for it somewhere ;)
  87. Anyway the value is:
  88.  
  89. 000007CD = 1997
  90.  
  91. The year 1997 :P
  92. Well at the moment i'm in year 2001 :)
  93. So the value must be for me:
  94.  
  95. 2001 = 000007D1
  96.  
  97. Ok, now click on this Compare instruction in W32Dasm and you'll see at the bottom this:
  98.  
  99. "@Offset 00000690h"
  100.  
  101. That's the real Offset in your Hex-Editor.
  102. Then open the file in your Hex-Editor, and don't forget to close W32Dasm otherwise we can't save.
  103. Now get to that address "00000690" and change this:
  104.  
  105. 817DF8CD070000
  106.  
  107. into
  108.  
  109. 817DF8D1070000
  110.  
  111. Now save the file and run it, it worked :P
  112. That's all.
  113.  
  114.  
  115. --->    Greetings...
  116.  
  117. Everyone from TrickSoft            (www.TrickSoft.net)
  118. Everyone from Cracking4Newbies        (www.Cracking4Newbies.com)
  119. Everyone from Keygenning4Newbies    (Keygenning4Newbies.cjb.net)
  120. And You...
  121.  
  122.             Don't trust the Outside, trust the InSiDe !!!
  123.  
  124.                       Cya...
  125.  
  126.                     CoDe_InSiDe
  127.  
  128. Email:    code.inside@home.nl